home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-01
/
wics.zip
/
NUMEDIT.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1993-03-03
|
3KB
|
143 lines
//==============================================================================================
//
// Windows Interface Construction Set
// Version 1.00
//
// NUMEDIT.CPP - Numeric Edit Class Source File
// Copyright ⌐ 1993 by Microdyne Development Technologies.
// All rights reserved.
//==============================================================================================
#include <owl.h>
#include <numedit.h>
TNumericEdit::TNumericEdit (PTWindowsObject AParent, int ResourceId, PTModule AModule)
: TEdit (AParent, ResourceId, 0, AModule)
{
}
TNumericEdit::~TNumericEdit ()
{
}
void TNumericEdit::WMCommand (RTMessage Msg)
{
DefWndProc(Msg);
}
void TNumericEdit::SetupWindow ()
{
TEdit::SetupWindow();
}
int TNumericEdit::GetLineLength()
{
TMessage msg;
msg.Receiver = HWindow;
msg.Message = EM_LINELENGTH;
msg.WParam = 0;
msg.LParam = 0L;
msg.Result = 0L;
DefWndProc (msg);
return (int) msg.Result;
}
BOOL TNumericEdit::GetLine(LPSTR ATextString, int StrSize)
{
TMessage msg;
int BytesCopied;
BOOL Success;
if ( StrSize <= 0 )
return FALSE;
if ( (StrSize >= GetLineLength() + 1) )
Success = TRUE;
else
Success = FALSE;
if ( StrSize == 1 )
{
ATextString[0] = '\0';
return Success;
}
msg.Receiver = HWindow;
msg.Message = EM_GETLINE;
msg.WParam = 0;
msg.LParam = (LPARAM) ATextString;
msg.Result = 0L;
DefWndProc (msg);
BytesCopied = (int) msg.Result;
if ( BytesCopied != 0 )
{
ATextString[BytesCopied] = '\0'; // Windows returns non-null terminated string
return Success;
}
return FALSE;
}
int TNumericEdit::GetInt ()
{
TMessage msg;
msg.Receiver = HWindow;
msg.Message = NEM_GETINTEGER;
msg.WParam = 0;
msg.LParam = 0L;
msg.Result = 0L;
DefWndProc (msg);
return msg.Result;
}
long TNumericEdit::GetLong ()
{
TMessage msg;
msg.Receiver = HWindow;
msg.Message = NEM_GETLONGINT;
msg.WParam = 0;
msg.LParam = 0L;
msg.Result = 0L;
DefWndProc (msg);
return msg.Result;
}
void TNumericEdit::SetInt (int i)
{
TMessage msg;
msg.Receiver = HWindow;
msg.Message = NEM_SETINTEGER;
msg.WParam = i;
msg.LParam = 0L;
msg.Result = 0L;
DefWndProc (msg);
}
void TNumericEdit::SetLong (long l)
{
TMessage msg;
msg.Receiver = HWindow;
msg.Message = NEM_SETLONGINT;
msg.WParam = 0;
msg.LParam = l;
msg.Result = 0L;
DefWndProc (msg);
}